// Package mess
// @Title mess[简述该包的主要作用]
// @Description
// @Author  cnHuaShao
// @since v0.0.1
// @Version v1.0.0
// @Date 2024/4/21 21:53
// @Update 2024/4/21 21:53
package mess

import "strings"

const (
	// CodeSuccess 成功标记
	CodeSuccess = 200
	// CodeErrorDatabaseOther Http状态码 数据库错误
	CodeErrorDatabaseOther = "0x000600"
	// MsgSuccess 状态描述信息 请求成功
	MsgSuccess = "请求成功"
	// MsgErrorDatabaseOther 状态描述信息 错误 其他数据库异常
	MsgErrorDatabaseOther = "其他数据库异常"
)

// RetMessage 主消息结构体
type RetMessage struct {
	Code int         `json:"code"`
	Msg  string      `json:"msg"`
	Data interface{} `json:"data"`
}

// ReturnReqMess 常规消息生成函数
func ReturnReqMess(code int, msg string, data interface{}) *RetMessage {
	mess := RetMessage{
		Code: code,
		Msg:  msg,
		Data: data,
	}
	return &mess
}

// ResErrMess 异常消息生成函数
// msg 可以增加多个提示信息
func ResErrMess(code int, msg ...string) *RetMessage {
	return &RetMessage{code, strings.Join(msg, ""), nil}
}

// ResMessOK 成功消息返回通用函数
// data 返回的结构对象
func ResMessOK(data interface{}) *RetMessage {
	return &RetMessage{CodeSuccess, "成功", data}
}
